package com.lizicloud.infrastructure.common.utils;

/**
 * 加密解密工具类
 */
public class CryptoUtils {
    
    /**
     * MD5加密
     */
    public static String md5(String input) {
        return EncodeUtils.md5(input);
    }
    
    /**
     * SHA1加密
     */
    public static String sha1(String input) {
        return EncodeUtils.sha1(input);
    }
    
    /**
     * SHA256加密
     */
    public static String sha256(String input) {
        return EncodeUtils.sha256(input);
    }
    
    /**
     * Base64编码
     */
    public static String base64Encode(String input) {
        return EncodeUtils.base64Encode(input);
    }
    
    /**
     * Base64解码
     */
    public static String base64Decode(String input) {
        return EncodeUtils.base64Decode(input);
    }
    
    /**
     * URL编码
     */
    public static String urlEncode(String input) {
        return EncodeUtils.urlEncode(input);
    }
    
    /**
     * URL解码
     */
    public static String urlDecode(String input) {
        return EncodeUtils.urlDecode(input);
    }
    
    /**
     * HTML编码
     */
    public static String htmlEncode(String input) {
        return EncodeUtils.htmlEncode(input);
    }
    
    /**
     * HTML解码
     */
    public static String htmlDecode(String input) {
        return EncodeUtils.htmlDecode(input);
    }
    
    /**
     * Unicode编码
     */
    public static String unicodeEncode(String input) {
        return EncodeUtils.unicodeEncode(input);
    }
    
    /**
     * Unicode解码
     */
    public static String unicodeDecode(String input) {
        return EncodeUtils.unicodeDecode(input);
    }
    
    /**
     * 十六进制编码
     */
    public static String hexEncode(String input) {
        return EncodeUtils.hexEncode(input);
    }
    
    /**
     * 十六进制解码
     */
    public static String hexDecode(String input) {
        return EncodeUtils.hexDecode(input);
    }
    
    /**
     * 二进制编码
     */
    public static String binaryEncode(String input) {
        return EncodeUtils.binaryEncode(input);
    }
    
    /**
     * 二进制解码
     */
    public static String binaryDecode(String input) {
        return EncodeUtils.binaryDecode(input);
    }
    
    private CryptoUtils() {
        // 私有构造函数，防止实例化
    }
}